package com.pro.service;

import com.pro.mapper.JsApplyRecordMapper;
import com.pro.pojo.JsApplyRecord;
import com.pro.pojo.JsAuditLog;
import com.pro.pojo.JsCourseRecord;
import com.pro.pojo.JsonData;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
* @Title: 创作者申请管理Service层
* @author 许振杰
* @date 2022/2/8 0008 9:44
* @version V1.0
*/
public interface JsApplyRecordService {

    /**
    * @Title: 创作者申请列表
    * @author 许振杰
    * @date 2022/2/8 0008 9:45
    * @version V1.0
    */
    List<JsApplyRecordMapper> getApplyRecord(JsApplyRecord applyRecord);

    /**
    * @Title: 根据不同的状态查询不同的用户
    * @author 许振杰
    * @date 2022/2/8 0008 10:48
    * @version V1.0
    */
    List<JsApplyRecord> getApplyRecordByResult(Integer result);

    /**
    * @Title: 修改审核状态
    * @author 许振杰
    * @date 2022/2/8 0008 11:32
    * @version V1.0
    */
    boolean editApplyRecordById(JsApplyRecord applyRecord);

    /**
    * @Title: 添加审核日志
    * @author 许振杰
    * @date 2022/2/8 0008 13:38
    * @version V1.0
    */
    boolean addAuditLog(JsAuditLog auditLog);

    /**
    * @Title: 添加审核记录
    * @author 许振杰
    * @date 2022/2/8 0008 14:26
    * @version V1.0
    */
    boolean addCourseRecord(JsCourseRecord courseRecord);

    /**
    * @Title: 已处理申请列表
    * @author 许振杰
    * @date 2022/2/8 0008 15:25
    * @version V1.0
    */
    List<JsApplyRecord> getApplicationProcessedList(JsApplyRecord applyRecord);

    /**
    * @Title: 创作者审核日志
    * @author 许振杰
    * @date 2022/2/8 0008 16:35
    * @version V1.0
    */
    List<JsAuditLog> getAuditLog(JsAuditLog auditLog);

    /**
    * @Title: 根据不同的状态展示不同的审核日志状态
    * @author 许振杰
    * @date 2022/2/8 0008 16:57
    * @version V1.0
    */
    List<JsAuditLog> getAuditLogByType(JsAuditLog auditLog);

    /**
    * @Title: 删除审核日志
    * @author 许振杰
    * @date 2022/2/8 0008 18:53
    * @version V1.0
    */
    boolean delAuditLog(Integer auditLogId);
    /**
     * @Author 祖铭泽
     * @Date 2022/2/17/0014
     * @description 查询正在申请创作者的数量
     */
    JsonData getApplyForApplyRecordCount(Integer result);
}
